﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Box.BL;
using Box.Entities;
using Microsoft.Practices.Unity;

namespace Box.Cliente.Administracion
{
    public partial class frmTipoDocumento : System.Web.UI.Page
    {
        [Dependency]
        public ITipoDocumentoBL tipoDocBL { get; set; }
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!Page.IsPostBack)
            {
                var acc = Request.QueryString["acc"];
                var id = Request.QueryString["id"];

                if (acc==null)
                {
                    Response.Redirect("frmTipoDocumento.aspx");
                }
                if (acc!=null && id !=null && acc=="editar")
                {
                    var identificador = Int32.Parse(id);

                    var doc = tipoDocBL.GetFromTipoDocumentoById(identificador);
                    txtId.Text = doc.Id.ToString();
                    txtNombreDoc.Text = doc.NombreTipoDocumento;
                    txtDescripcion.Text = doc.DescripcionTipoDocumento;
                    txtIgv.Text = doc.IGV.ToString();

                }

            }
        }

        protected void btnGuardar_Click(object sender, EventArgs e)
        {
            var accion = Request.QueryString["acc"];

            var tipoDoc = new TipoDocumento()
            {
                NombreTipoDocumento = txtNombreDoc.Text,
                DescripcionTipoDocumento = txtDescripcion.Text,
                IGV = decimal.Parse(txtIgv.Text)
                
            };
            if (accion=="new")
            {
                if (txtNombreDoc.Text != string.Empty && txtIgv.Text != null)
                {
                    tipoDocBL.AddTipoDocumento(tipoDoc);
                    Response.Redirect("frmListDocumentos.aspx");
                    ScriptManager.RegisterClientScriptBlock(this,
                    this.GetType(), "alertMessage",
                    "alert('Registro Correcto')", true);
                }
                ScriptManager.RegisterClientScriptBlock(this,
                    this.GetType(), "alertMessage",
                    "alert('Debe Llenar Todos los Campos')", true);
            }else if (accion=="editar")
            {
                tipoDoc.Id = int.Parse(txtId.Text);

                if (txtNombreDoc.Text != "" && txtIgv.Text != "")
                {
                    tipoDocBL.UpdateTipoDocumento(tipoDoc);
                    Response.Redirect("frmListDocumentos.aspx");
                }
                else
                {
                    ScriptManager.RegisterClientScriptBlock(this,
                    this.GetType(), "alertMessage",
                    "alert('Debe Llenar Todos los Campos')", true);
                }
                
            }
        }
    }
}